type Arr1 = string[]
type Arr2 = Array<string>

let arr = []

type T = Omit<Arr1, never>
// 元组
let x: [string, number] = ['a', 100]
// 元组是定长的
type TupleX = [string, number]
type T2 = Omit<TupleX, never>
// T2 等价于 TTupleX
interface TTupleX extends Array<string | number> {
    readonly length: 2
    0: string
    1: number
}
let t1!: T2
let t2!: TTupleX
let t3!: TupleX
t1 = t2
t3 = t2

// 函数的参数列表是一个元组类型